import axios from 'axios'
import store from '@/store/index'
import bigInt from 'json-bigint'

// 处理大数问题
const transBigInt = data => {
  return bigInt.parse(data)
}

const instance = axios.create({
  // 请求根路径
  baseURL: 'http://toutiao-app.itheima.net',
  transformResponse: [transBigInt]
})

// 请求拦截器
instance.interceptors.request.use(
  config => {
    // 从 store 中获取 tokenInfo 对象
    const tokenInfo = store.state.tokenInfo
    if (tokenInfo && tokenInfo.token) {
      // 如果 tokenInfo.token 的值存在，则添加身份认证的请求头字段
      config.headers.Authorization = tokenInfo.token
    }
    return config
  },
  err => {
    return Promise.reject(err)
  }
)

export default instance
